//检查用户密码强度  --开始
function passwordChangeStatuss(pwd){
    if(pwd == "" || pwd == null){
        $(".pwd-item label").attr("class","layui-btn layui-btn-primary");
    }else{
        S_level=checkStrong(pwd);
        switch(S_level) {
            case 0:
            $(".pwd-item label").attr("class","layui-btn layui-btn-primary");
            case 1:
            $("#l").attr("class","layui-btn layui-btn-danger");
            $("#m").attr("class","layui-btn layui-btn-primary");
            $("#h").attr("class","layui-btn layui-btn-primary");
            break;
            case 2:
            $("#l").attr("class","layui-btn layui-btn-danger");
            $("#m").attr("class","layui-btn layui-btn-warm");
            $("#h").attr("class","layui-btn layui-btn-primary");
            break;
            default:
            $("#l").attr("class","layui-btn layui-btn-danger");
            $("#m").attr("class","layui-btn layui-btn-warm");
            $("#h").attr("class","layui-btn");
        }
    }
}
//判断输入密码的类型
function CharMode(iN){
    if (iN>=48 && iN <=57) //数字
        return 1;
    if (iN>=65 && iN <=90) //大写
        return 2;
    if (iN>=97 && iN <=122) //小写
        return 4;
    else
        return 8;
}
//bitTotal函数
//计算密码模式
function bitTotal(num){
    modes=0;
    for (i=0;i<4;i++){
        if (num & 1) modes++;
            num>>>=1;
    }
    return modes;
}
//返回强度级别
function checkStrong(sPW){
    if (sPW.length<=8)
        return 0; //密码太短
    Modes=0;
    for (i=0;i<sPW.length;i++){
        //密码模式
        Modes|=CharMode(sPW.charCodeAt(i));
    }
    return bitTotal(Modes);
}
//检查用户密码强度  --结束
//新用户注册ajax检查有效性  --开始
//邮件合法性检查函数
function checkEmail(){
    //检测用户输入是否是邮箱
    var email = $("#email").val();
    var exp=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
    if (email == ''){
        $(".js-email span").attr("style","color:red;");
        _this.next().text('*邮箱不能为空!')
    }
    else {
        isok = exp.test(email);
        if (isok){
            //符合条件，通过ajax请求验证是否重复
            status = 0  //定义一个容器，存执行结果
            $.ajax({
            url: '/login/email/check/',
            type: 'post',
            async: false,   //设置为同步操作，否则return不生效
            data:{
                'email': $("#email").val()
            },
            success:function (res) {
                if (res.status == '2'){
                    $(".js-email span").attr("style","color:green;");
                    _this.next().text(res.msg)
                    status = 1
                }
                else {
                    $(".js-email span").attr("style","color:red;");
                    _this.next().text(res.msg)
                }
            }
            })
            return status
        }
        else {
            $(".js-email span").attr("style","color:red;");
            _this.next().text('*邮箱格式不正确！')
        }
    }
}
//手机号码合法性检查函数
function checkMoblie(){
    var mobile = $("#mobile").val();
    var reg = /^[1][3,4,5,7,8][0-9]{9}$/;  //以1开头，第二位是13,14,15,17,18的手机号
    if (mobile == ''){
        $(".js-mobile span").attr("style","color:red;");
        _this.next().text('*手机号码不能为空！')
    }
    else {
        isok =reg.test(mobile);
        if (isok){
            //符合条件，通过ajax请求验证是否重复
            status = 0  //定义一个容器，存执行结果
            $.ajax({
                url: '/login/mobile/check/',
                type: 'post',
                async: false,   //设置为同步操作，否则return不生效
                data:{
                'mobile': $("#mobile").val()
                },
                success:function (res) {
                    if (res.status == '2'){
                        $(".js-mobile span").attr("style","color:green;");
                        _this.next().text(res.msg)
                        status = 1
                    }
                    else {
                        $(".js-mobile span").attr("style","color:red;");
                        _this.next().text(res.msg)
                    }
                }
            })
            return status   //返回结果
        }
        else {
            $(".js-mobile span").attr("style","color:red;");
            _this.next().text('*手机号码格式不正确！')
        }
    }
}
//用户名合法性检查函数
function checkUserName(){
    var username = $("#username").val()
    var regEn = /[`!@#$%^&*()_+<>?:"{},.\/;'[\]]/im,
        regCn = /[·！#￥（——）：；“”‘、，|《。》？、【】[\]]/im;
    if (username == ''){
        $(".js-uname span").attr("style","color:red;");
        _this.next().text('*用户名不能为空！')
    }
    else {
        if (regEn.test(username) || regCn.test(username)){
            $(".js-uname span").attr("style","color:red;");
            _this.next().text('*用户名不能包含特殊字符！')
        }
        else {
            //符合条件，通过ajax请求验证是否重复
            status = 0  //定义一个容器，存执行结果
            $.ajax({
                url: '/login/name/check/',
                type: 'post',
                async: false,   //设置为同步操作，否则return不生效
                data:{
                    'username': $("#username").val()
                },
                success:function (res) {
                    if (res.status == '2'){
                        $(".js-uname span").attr("style","color:green;");
                        _this.next().text(res.msg)
                        status = 1
                    }
                    else {
                        $(".js-uname span").attr("style","color:red;");
                        _this.next().text(res.msg)
                    }
                }
            })
            return status
        }
    }

}
//密码比对函数
function checkpasswd(pw1,pw2){
    //密码强度判断
    if(pw1 == ''){
        $(".js-pw2 span").attr("style","color:red;");
        _this.next().text('* 密码不能为空！')
    }else {
        level = checkStrong(pw1)
        if (level <2){
            $(".js-pw2 span").attr("style","color:red;");
            _this.next().text('* 密码强度太低,请使用小写字母，大写字母,数字和特殊字符组合！')
        }else {
            if (pw2 != pw1){
                $(".js-pw2 span").attr("style","color:red;");
                _this.next().text('* 密码不一致！')
            }
            else {
                $(".js-pw2 span").attr("style","color:green;");
                _this.next().text('√ 密码一致！')
                return true
            }
        }
    }
}
//调用密码比对函数，对用户输入的密码进行比对
$("#pw2").blur(function () {
    _this = $(this)
    pw1 = $("#pw1").val()
    pw2 = $("#pw2").val()
    checkpasswd(pw1,pw2)
})
//调用用户名检查函数对用户名进行检查
$("#username").blur(function () {
    _this = $(this)
    //验证用户名是否包含特殊字符
    checkUserName()
})
//调用手机号码检查函数对手机号码进行检查
$("#mobile").blur(function () {
    _this = $(this)
    checkMoblie()
})
//调用邮件检查函数对用户输入的邮箱进行检查
$("#email").blur(function () {
    _this = $(this)
    checkEmail()
})
//新用户注册ajax检查有效性  --结束
